var api = require('../../../utils/api.js');
var $ = require('../../../utils/util.js'); 
var regeneratorRuntime = require('../../../utils/runtime.js')
var app = getApp();
var Store = app.Store;

Page({
  data: {
    isShowTime: false, // 是否显示时间弹框
    timeType:0,//时间类型  0:开始时间   1:结束时间
    statusBarHeight:0, // 状态栏高度
    start_time:'',
    end_time:'',
    hasMore: true,// 判断 数据是否全部加载完
    isLodingLock: true, //锁 防止数据加载
    pageList:[], //分页数据列表
    pageNum: 1, //页码
    imgUrl: api.url, // 图片url
    today:$.getCurrentDate().getFullDate() ,
  },

  /**
   * 生命周期函数--监听页面加载
   */
  async onLoad(options) {  
    let { statusBarHeight } = app.data; // 手机状态栏高度 
    this.setData({
      statusBarHeight, 
    })  
    app._clearFromCache();

      // 初始化图表前需要的数据s 
      var zf_list = await app._selectTree() // 获取站房
      this.setData({
        station: zf_list.data[1].list[0].dept_id, // 站房id
        title: zf_list.data[1].list[0].dept_name, // 页面标题
        name:  zf_list.data[1].list[0].dept_name
      })
      await this.getPagServer(1,true);
  },

  /**
   * 生命周期函数--监听页面显示
   */
  async onShow () {
    var form = Store.getState().formInfor.form
    app._clearFromCache();
    if (!form.selected) return
    var key = form.key
    switch (key) {
      case 'selectTree': // 企业和站房列表接口 
        var title=form.selected.dept_name;
        this.setData({
          title: title,
          station:form.selected.dept_id, // 站房id
          name:title
        })
        await this.getPagServer(1,true);
        break
      }
  },
  onReachBottom() { //滑动到底部触发
    this.loadingMore()
  },
  onPullDownRefresh: function () { // 下拉刷新
    this.getPagServer(1, true) //获取分页数据
  },
  loadingMore: function () {  // 加载更多
    console.log(this.data.isLodingLock, 111)
    if (this.data.isLodingLock) {
      this.setData({
        isLodingLock: false
      })
      this.getPagServer()
    }
  },
  toAllHandle(e){ 
    var { key } = e.detail 
    switch (key*1){
      case 1: // 选择站房
        this.setData({
          eqIndex: 1, // ---该需求了---
          isShowPop: false
        })
        var { type } = $.detail(e)
        Store.dispatch({
          type: 'SET_FROM',
          form: {
            key: 'selectTree', // 后台要的更改字段 
            type: 3, // 表单类型 1： radio  2：select 3:特殊的radio
            config: {

            },
          },
        })
        $.linkurl(`/pages/main/chooseForm/chooseForm`)
        break;
      case 2: // 设备
        if (this.data.isShowPop){
          this.onClosePop() // 关闭
        } else {
          this.setData({
            isShowPop: true,
            isShowC: false
          })
        }
        break; 
    } 
  },
  openTimeHandle(e) { // 打开时间弹框
    var type=$.detail(e).type;
     this.setData({
       isShowTime: true,
       isShowC: false,
       timeType: type ||0
     })
   },
   timeCloseHandle(){ // 时间弹框
     this.setData({
       isShowTime: false, 
     }, () => {
       setTimeout(() => {
         this.setData({
           isShowC: true
         })
       }, 160)
     })
   },
   timeConfirmHandle(e) { // 时间组件传出来的数据
    var { time, key } = e.detail 
    time=time.substring(0,10)
    var startTime= null;
    var endTime=null;
    if(this.data.timeType==0){//开始时间
      startTime= new Date(Date.parse(time));
      endTime=new Date(Date.parse(this.data.end_time));
    }else if (this.data.timeType==1){//结束时间
      startTime= new Date(Date.parse(this.data.start_time));
      endTime=new Date(Date.parse(time));
    }
    var tomorrow=new  Date(Date.parse($.getNextDay(Date.parse($.getCurrentDate().getFullDate()))+' 00:00')).getTime();
    console.log('tomorrow',tomorrow)
    if(startTime>tomorrow || endTime>tomorrow){
      $.toast('日期超前,请重新选择');
      return
    }
    if(startTime>endTime){
      $.toast('开始时间不能大于结束时间');
      return
    }else if(startTime.getTime()==endTime.getTime()){
      $.toast('开始时间不能与结束时间相同');
      return
    }
    this.setData({
      [key]: time
    }) 
    this.getPagServer(1, true) //获取分页数据
  },
  getPagServer(pageNum, isClickTab = false) { //分页  
    var params = {
      pageNum: pageNum == 1 ? 1 : this.data.pageNum,
      pageSize: 10,
      station:this.data.station,
      name:this.data.name,
      start_time:this.data.start_time,
      end_time:this.data.end_time
    } 
    $.getPageList(api, this, api.wave.getList, params, isClickTab).then((res) => {
      wx.stopPullDownRefresh() // 接口数据请求完停止刷新
    })
    console.log('list',this.data.pageList);
  },
  delete(e){//删除文件
    
    var that=this;
    wx.showModal({
      title: '删除文件',
      content: '确认要删除该文件?',
      success: function(res) {
        if (res.confirm) {
          var addr=e.currentTarget.dataset.item.addr;
          var name=e.currentTarget.dataset.item.name;
          var params={
            addr:addr,
            name:name
          };
          api.$post(api.wave.delete,params).then((res)=>{
              if(res.data=="删除成功"){
                $.toast('删除成功');
                var page=that.data.pageList;
                for(var i=0;i<page.length;i++){
                  if(name==page[i].name && addr==page[i].addr ){
                      page.splice(i,1);
                  }
                  console.log("page",page);
                  that.setData({
                    pageList:page
                  })
                }
                  //删除操作
              }else{
                $.toast('删除失败');
              }
          });
        console.log('用户点击确定')
        } else if (res.cancel) {
        console.log('用户点击取消')
        }
      }
    })
  },
  info(e){
    var item=e.currentTarget.dataset.item;
    if($.isNull(item.addr) && $.isNull(item.name)){
          $.toast("未找到你需要的文件信息");
          return;
    }
    $.linkurl(`/pages/wave/waveView/waveView?info=${JSON.stringify(item)}`);
  },
  catalog(){//召测目录
    if(this.data.station<0){
      $.toast("请选择厂站");
    }else if($.isNull(this.data.start_time)&& !$.isNull(this.data.end_time)){
      $.toast("请选择开始时间");
    }else if(!$.isNull(this.data.start_time)&& $.isNull(this.data.end_time)){
      $.toast("请选择结束时间");
    }else{
      var that=this;
        wx.showModal({
          title: '召测目录',
          content: '是否继续召测目录操作',
          success: function(res) {
            if (res.confirm) {
                var params={
                  'addr':that.data.station,
                  'start_time':that.data.start_time,
                  'end_time':that.data.end_time
              };
              api.$post(api.wave.catalog,params);
            console.log('用户点击确定')
            } else if (res.cancel) {
            console.log('用户点击取消')
            }
          }
        })
    }
  },
  file(e){//召测文件
    var item=$.detail(e).item;
    console.log(item.status);
    if(item.status==1){
      wx.showModal({
        title: '召测文件',
        content: '文件已存在,是否重新召测?',
        success: function(res) {
          if (res.confirm) {
                var params={
                  addr:item.addr,
                  name:item.name
              };
              api.$post(api.wave.file,params);
          console.log('用户点击确定')
          } else if (res.cancel) {
          console.log('用户点击取消')
          }
        }
      })
    }else{
          var params={
            addr:item.addr,
            name:item.name
        };
      api.$post(api.wave.file,params);
    }

  },


})